package provatable;

import java.io.Serializable;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.List;


/**
 * The persistent class for the ALBUM database table.
 * 
 */
@Entity
@NamedQuery(name="Album.findAll", query="SELECT a FROM Album a")
public class Album implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	private long oid;

	private BigDecimal anno;

	private String durata;

	private String nome;

	//bi-directional many-to-one association to Canzoni
	@ManyToOne
	private Canzoni canzoni;

	//bi-directional many-to-one association to Gruppo
	@OneToMany(mappedBy="album")
	private List<Gruppo> gruppos;

	public Album() {
	}

	public long getOid() {
		return this.oid;
	}

	public void setOid(long oid) {
		this.oid = oid;
	}

	public BigDecimal getAnno() {
		return this.anno;
	}

	public void setAnno(BigDecimal anno) {
		this.anno = anno;
	}

	public String getDurata() {
		return this.durata;
	}

	public void setDurata(String durata) {
		this.durata = durata;
	}

	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Canzoni getCanzoni() {
		return this.canzoni;
	}

	public void setCanzoni(Canzoni canzoni) {
		this.canzoni = canzoni;
	}

	public List<Gruppo> getGruppos() {
		return this.gruppos;
	}

	public void setGruppos(List<Gruppo> gruppos) {
		this.gruppos = gruppos;
	}

	public Gruppo addGruppo(Gruppo gruppo) {
		getGruppos().add(gruppo);
		gruppo.setAlbum(this);

		return gruppo;
	}

	public Gruppo removeGruppo(Gruppo gruppo) {
		getGruppos().remove(gruppo);
		gruppo.setAlbum(null);

		return gruppo;
	}

}